Page({
  data: {
    // 自选股数据
    stocks: [
        { name: '大秦铁路', code: 'sh601006', price: '--', change: '--', changePercent: '--' },
        { name: '中国平安', code: 'sh601318', price: '--', change: '--', changePercent: '--' },
        { name: '贵州茅台', code: 'sh600519', price: '--', change: '--', changePercent: '--' },
        { name: '招商银行', code: 'sh600036', price: '--', change: '--', changePercent: '--' },
        { name: '隆基绿能', code: 'sh601012', price: '--', change: '--', changePercent: '--' }
  
    ]
  },

  onLoad: function() {
    // 加载自选股数据
    this.loadStockData();
  },

  // 加载自选股票数据
  loadStockData: function() {
    const that = this;
    const stockCodes = this.data.stocks.map(stock => stock.code).join(',');
    
    wx.request({
      url: `https://hq.sinajs.cn/list=${stockCodes}`,
      header: {
        'content-type': 'text/plain',
        'Referer': 'https://finance.sina.com.cn'
      },
      success(res) {
        that.parseStockData(res.data);
      },
      fail(err) {
        console.error('获取股票数据失败', err);
        wx.showToast({
          title: '获取数据失败',
          icon: 'none'
        });
      }
    });
  },
  
  // 解析股票数据
  parseStockData: function(data) {
    try {
      const lines = data.split('\n');
      const updatedStocks = [...this.data.stocks];
      
      lines.forEach((line, index) => {
        if (!line.trim()) return;
        
        const regex = /=\"(.*)\";/;
        const matches = line.match(regex);
        
        if (matches && matches[1] && index < updatedStocks.length) {
          const elements = matches[1].split(',');
          const currentPrice = parseFloat(elements[3]);
          const prevClose = parseFloat(elements[2]);
          const changeAmount = (currentPrice - prevClose).toFixed(2);
          const changePercent = ((changeAmount / prevClose) * 100).toFixed(2);
          
          updatedStocks[index].price = currentPrice.toFixed(2);
          updatedStocks[index].change = changeAmount > 0 ? '+' + changeAmount : changeAmount;
          updatedStocks[index].changePercent = changeAmount > 0 ? '+' + changePercent + '%' : changePercent + '%';
        }
      });
      
      this.setData({
        stocks: updatedStocks
      });
    } catch (error) {
      console.error('解析股票数据出错', error);
    }
  },

  // 跳转到个股详情页面
  goToStockDetail: function(e) {
    const stock = e.currentTarget.dataset.stock;
    wx.navigateTo({
      url: `/pages/stock/index?code=${stock.code}`
    });
  }
})